The concept of the state machine is a natural fit for many contemporary enterprise applications, particularly those that are process-oriented. The distinguishing characteristic of a process-oriented application is its movement over time from state to state, or put differently, its progression from milestone to milestone to an ultimate goal. An application that manages the processing of an insurance claim is a typical example. The insurance claim, over its lifetime, is passed from one person to another in a succession of approvals, and is defined at all times by how far it has reached. But not all enterprise applications qualify. For example, in an automated teller machine (ATM), which lets users query their account balance, withdraw cash, deposit checks and cash, and pay bills, any sense of process is extremely short-lived and inessential. An ATM is an online transaction processor, not a process-oriented application.
The popularity of workflow application frameworks indicates not only that process-oriented applications abound, but also that high-level modeling languages are increasingly being used to develop these applications. Besides state machines, workflow technology is an obvious implementation choice for business processes because a workflow is often the most similar representation of the process.